In communications systems, use is made of so-called channel coders for coding the data bits to be transmitted to a corresponding receiver. Via the channel coding, redundant bits are added to the actual data bits and enable more reliable detection of the data bits in the receiver.
With regard to the channel coding, the use of so-called turbo codes is known, the turbo codes also being provided, for example, for the UMTS mobile radio standard (“Universal Mobile Telecommunication System”), currently in the process of standardization.
A turbo coder constitutes a parallel circuit including two convolution coders, an interleaver being connected upstream of one of the two convolution coders, the interleaver temporally reordering the data bits to be coded. The data bits are supplied to the turbo coder blockwise. Since the internal interleaver of the turbo coder is defined only starting from a certain block size, each data block supplied to the turbo coder must have a corresponding minimum size M; i.e., a corresponding minimum number of M data bits. In accordance with the UMTS standard, this minimum block size has been fixed at M=40 bits, for example.
If the data blocks supplied to the turbo coder have a block size which is smaller than the minimum block size M of the turbo coder, the length of the data blocks must be correspondingly adapted before the data blocks are supplied to the turbo coder.
FIG. 3 illustrates a turbo coder in accordance with the prior art, as may be used, for example, in a UMTS mobile radio transmitter.
The turbo coder 2 illustrated includes a first convolution coder 3 and a second convolution coder 4, the data bits of the respective data block to be coded being supplied to the second convolution coder 4 via an interleaver 5 and thereby being temporally reordered. The two convolution coders 3 and 4 are formed by recursive register circuits. At the input of the turbo coder 2, the bits to be coded are tapped off in uncoded form and output as so-called systematic bits X(t). The first convolution coder 3 outputs first parity bits Y(t) corresponding to the coded data bits, while the second convolution coder 4 outputs second parity bits Y′(t). Through corresponding changeover between the individual signal paths X(t), Y(t) and Y′(t), the bit sequence X(0), Y(0), Y′(0), X(1), Y(1), Y′(1), etc., is output as output bit stream at the output of the turbo coder 2.
Once all the data or information bits have been coded, firstly the input switch which is shown in FIG. 3 and is assigned to the upper convolution coder 3 is changed over, with the result that the corresponding feedback path indicated by dashes in FIG. 3 is activated. At the same time, the lower convolution coder 4 is deactivated. The next three values obtained in this way for X(t) and Y(t) are added to the output sequence and serve for the so-called termination of the upper convolution coder 3, as a result of which the convolution coder 3 is brought to a defined initial state again. Afterward, the input switch which is shown in FIG. 3 and is assigned to the lower convolution coder 4 is changed over, with the result that the corresponding feedback path indicated by dashes in FIG. 3 is activated. At the same time, the upper convolution coder 3 is deactivated. The next three values obtained in this way for X′(t) and Y′(t) are likewise added to the output sequence and serve for the termination of the lower convolution coder 4.
In order to adapt the data blocks supplied to the turbo coder 2 to the minimum required block length M of the turbo coder 2, the data bits U(t) of each data block can be filled at the end with predefined bits (“dummy bits”), which have, in particular, the value “0”, for example. The insertion of the dummy bits into the data blocks, which is also referred to as “padding”, is achieved, in accordance with FIG. 3, via a padding device 1 connected upstream of the turbo coder 2.
The filling of the individual data blocks at the end with dummy bits is disadvantageous, however, insofar as non-constant data bits are generated as a result of this in the event of resetting or termination of the turbo coder 2, which data bits either cannot be utilized or increase the complexity of the receiver.
Therefore, the present invention is directed toward a method for adapting the data blocks to be supplied to a turbo coder and also a corresponding communications apparatus, adaptation of the block length of the data blocks to the minimum required block length of the turbo coder being ensured without the previously described disadvantage of the suboptimum termination of the turbo coder.